home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1997 February
/
EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso
/
enigma
/
earcd
/
sviluppo
/
svilupp2
/
istar.lha
/
Docs
/
Panels
< prev
next >
Wrap
Text File
|
1996-11-06
|
22KB
|
546 lines
VARIOUS PANELS OF ISTAR
Here we describe some of the panels you will encounter in using Istar.
Those not described here should be fairly obvious once you know these.
THE SCREENS
Istar uses two screens, separate from Workbench. The Control Screen comes
up first, with a grey background. It is used for the panels. The main
Easel comes up when you have a knowledge base ready. Its size can changed
with the Prefs button on Initial Control Panel.
The control screen usually resides along the bottom and can be moved
manually using the two-pixel strips along its top. Then there is a thin
backdrop window that shows the meanings of items. Important on this window
is the gadget at the left hand end with two arrows. This moves the control
screen up and down quickly.
THE INITIAL CONTROL PANEL
This resides top left corner of the control screen. One column of buttons
that valid when there is no KB - things like 'About' and 'Quit'. The
'Errors' button allows you to explore the various levels of any error that
occurs, though it is perhaps of more use to technical users.
But, to get going, use 'New' or 'Get KB', which will, respectively,
create a new KB for you or load an existing one. When a KB is successfully
loaded the main easel will appear and on the control screen a KB panel will
appear. You can load or create any number of KBs (depending on memory),
each with a drawing easel and each with its own KB panel.
(In version 1.01 you could only have a single KB at a time and there
was no KB panel. Instead, the main control panel held three columns of
buttons and there were separate panels to select item type, relationship
type and to show the goal list.)
The 'Prefs' button brings up a Preferences panel.
PREFERENCES
This panel is being developed. You should normally only alter it right at
the start of the program at present, as some of its facilities have little
or no effect after a KB has arisen. Try things and see: if it works, fine,
if not, remember to set it at start next time.
Its main purpose is to set a few parameters relating to new knowledge bases
(standard values in brackets):
# Size and name of new KB (50,000 LWs and 30%)
# Size and depth of its main Easel (30 by 24 inches)
Dimensions are measured in 1/256 of inch (approx. tenth of a millimetre).
It also allows you to set the amount by which all main Easels scroll
and to select fonts for:
# Main Easel
# Question panels
# Documents (not yet used)
Note that changes to the main easel font are only effective next easel you
bring up.
THE KNOWLEDGE BASE PANEL
The KB panel concerns a whole knowledge base. It comprises two columns of
buttons at its left and two lists at its right, with a few other buttons.
The name of the KB is shown in the window title of the panel.
First column are to do with current KB:
# Save
# Save As
# KB Dump - to export ASCII translations of the KB
# Easel - to resize the main Easel etc.
# KB Area - to see details and rename: KBA Panel
# Clone KB (not yet working)
# Rid - to get rid of the KB
Second column are to do with the knowledge in the current KB:
# See Easel - when multi KBs, to bring Easel to front
# Reset Goals (to prepare the goal list for ...)
# Infer Goals (to start a run)
# Goal List (brings up the Goal List panel)
# Att Types (to create new attribute types)
# Topics (to manage topics)
# Find (to search for item etc. by name or sub-string)
Third column is the Item Types list. This is perhaps the most frequently
used, as you change item type. Below it are buttons to create a new item
type, edit an existing type, clone an existing type (not yet implemented)
and get rid of an item type (dangerous, since you lose all items of that
type; try it on a dummy KB you have created for the purpose!).
Fourth column is the Relationship Types list, with buttons to create a new
relationship type or edit an existing one. You will seldom use this list,
except when you are making up specific relationships.
THE KBA PANEL
Hit the 'KB Area' button on KB panel, and up comes the 'Knowledge Base
Area' (KBA) panel, which tells you various things about the KB itself. The
most useful things are:
# Name: You can change the name of your KB, up to 40 chars.
# DSA % Expansion: Make this higher for dynamic KBs; it is the
amount (as a %) of free space ('virgin glass' if we use the metaphor
of recycling glass bottles) created in the KB when it is next loaded.
Standard value is 30%, which gives plenty for the average knowledge
engineering session. DSA means 'Data Structure Area' - where almost
everything goes.
# Min DSA: 30% of zero is zero, which is a problem when your KB is
young. So we also stipulate a minimum size for the DSA. Standard
value is 50,000 longwords (200,000 bytes).
Altering the last two resizes the KBA when you hit 'OK' (though it doesn't
work yet in Version 1.03) but you should seldom need to do so. Of minor
interest are the following:
# KBA at: The address in memory of the start of the KBA. Decimal.
# Actual size: Actual size in memory (bytes).
# Blocks: How many separate blocks in the KB. An Istar free
attribute typically comprises around 10 blocks.
# Bottles and Glass: This shows how much 'free space' or 'glass'
there is to be recycled. Bottles shows how many separate pieces,
Glass the total amount (in bytes). Usually only of minor interest,
except when the KB gets fragmented.
Other, less useful things are:
# Version: Ignore this. At present always 0. It is the version of
software, NOT of the knowledge you have put there.
# Max Ring Length: Occasionally this is used to check against
infinite loops, but not always. Usually ignore it at 9999.
# Tasks: How many Amiga tasks are currently sharing this. Always 1
at present (the current task).
THE ATTRIBUTE DETAILS PANEL
Bring up the Attribute Details panel for a given attribute (step 8 in
<Driving Istar>). Lots of information, some of which you can change.
Exit Buttons:
When you hit OK (or OK-Act) the changes made will be stored with the
Attribute.
If you hit Cancel, they will not be made - with the exception of those
lists underneath the exit buttons.
Show: Helps you find the attribure box on the Easel. Hitting this button
will bring back the Easel but with only this attribute and those connected
to it showing.
Top row: Name and Meaning, as discussed above. Also a wee OK button for
convenience.
Next row: To do with Attribute Value
1. Attribute Type. Hit the wee button to change it.
2. Value. Gadget type depends on type, e.g. sliders for proportions.
There might be more than one gadget; e.g. Ratio is two integers, Bayesian
is four sliders.
Next row: More about values
1. Show Value: CheckBox you can tick if you want value to be shown on
main easel. At present only works for booleans, bayesians, probabilities,
proportions.
2. Inf: CheckBox Ticked if value is infinite (eg. from divide by 0)
3. Unk: Ticked if unknown. Attributes can have a value of 'unknown'
(which is different from 'not answered' below). This would be for instance
when you ask the new Employee their age and they say 'I don't know'.
4. MBK: Means 'Must be Known'. Tick this and 'Unk' is not allowed. (In
this version has no effect.)
DERIVATION
The attribute's value must be derived (obtained) from somewhere or somehow.
Istar offers three methods:
Left hand side Three Radio Buttons: Derivation: Shows how Value of
attribute is derived when the KB is run (as in step 10 in <Driving>):
1. Constant. You then alter the Value gadget(s) in row 2.
2. Infer. Then the Inference Method comes into play. See above for how
to change it. See below for Antecedents.
3. User Supplied. This means that to obtain the value we ask the user a
question when the KB is run. (If Infer is selected but there are no
attributes then it is treated as User Supplied.)
INFERRED ATTRIBUTES
The inference method is shown in the gadget to the right of the Infer Radio
Button, and changed by hitting the wee button attached. The inference
method list thus presented depends on the Attribute Type. For instance
Integer attributes can have all the normal arithmetic plus more. See below
for list of inference methods.
Bottom Left of panel: Antecedents.
Here is a list of the antecedents, in their order. So if we have
subtraction inference method then the value of this attribute will be the
value of the first, minus the values of all the others. Sometimes the
order matters, sometimes not.
'To 1': You can change the order by selecting an antecedent and hitting
'To 1', which moves it to first in list. Note that this change is NOT
undone if you then hit Cancel.
'See': Hitting 'See' button will bring up the attribute panel of the
selected antecedent.
Bottom Right of panel: Consequents
As with antecedents. But changing the order with the 'To 1' button is
unlikely to make much difference in practice except perhaps some change of
speed.
USER SUPPLIED ATTRIBUTES
Long String Gadget 'Q': To right of 'User Supplied' button. If you fill
this in then this is the text that will appear in the User Question panel.
Usually it is in the form of a question, and can be up to 256 characters
long.
Next Row: To do with explanation facility. When the user is asked for a
value, they might want an explanation of why the question is being asked,
or more detail about the question. This text in this string gadget and it
will be presented to the user when they hit the 'Help' button on the User
Question Panel.
OVERRIDING
Next Row: Overriding.
Knowledge Based Systems are often used in decision support. This often
requires the facility to override an attribute's value temporarily to try
something out. e.g. "What if we increase the size of this building by 20
%?" To allow this, each Attribute in Istar in fact has two values, not one
- a main value and an override. The effect of overriding is that
inferencing does not proceed through this attribute and it is treated as
Constant or User Supplied rather than inferred. This could be achieved
merely by changing the Derivation to Constant and altering the value. But
the original value is then lost. But with the Istar override facility, the
original value is retained and can be switched back in when the what-iffing
is finished.
1. Left Check Box allows Attribute to be overridden.
2. String Gadget to its right is for text to put to user when it is
overridden; see below.
3. Check Box to right shows whether or not it has been overridden. If so,
then the Value shown is the override value.
STATUS OF ATTRIBUTE
Next Row: Status.
1. Answered. If ticked then this attribute has been answered. The
Answered flag is used when running the KB to determine whether or not to
seek to derive its value. If answered, do not, if not answered, do.
Normally if User Supplied then the user has answered a User Question
about it. If Inferred, it usually means that all its antecedents have been
answered. e.g. If X = A + B + C, X is answered only when all of A, B, C
have been answered. But for some inference methods the attribute can be
answered before all its antecedents have been. e.g. X = A * B * C if A is
0 then we know the value of X immediately.
2. Visited (DoneWith). This is used during forward chaining (q.v.). It
means that the value of the attribute has been propagated and so do not
bother doing so again. Not usually very instructive information.
3. Error. Not yet fully used. But designed to indicate e.g. trying to
multiply two strings or other nonsensical things. This information is
usually only of value when debugging the KB.
OTHER INFO ON ATTRIBUTE
Next row: Other information.
1. Item to which this attribute belongs.
2. 'See' takes you to the Item Details Panel.
3. DSAP: Unique internal identifier for the Attribute. ('Data Structure
Area Pointer').
4. Topics. Bring up the Topics panel (q.v.).
ANTECEDENTS AND CONSEQUENTS
Bottom of panel, left for antecedents, right for consequents
1. Related attribute list. Select one and the wee buttons come into play:
2. 'A' Action button: Click this to raise the attribute details panel for
the selected attribute.
3. 'R': Click this to raise relationship instance panel for the link.
4. 'X': Click this to gain explanation of what happens in the link.
5. 'To 1': Click this to make that attribute first in list.
THE ITEM DETAILS PANEL
The item details panel can be accessed by clicking the 'See' button on the
attribute details panel attached to the item name. It will also appear if
you click on an item box on the easel, such as a form.
Most of it is straightforward, such as label/name and meaning. There
is a list of attributes it contains taking up most of the left hand side.
With this you can select an attribute and bring up its panel with 'See' and
you can make it the first attribute in the item with 'To 1', though this
has very little effect in the current version.
You can attach an item to topics as above.
The two buttons concerned with importing and displaying text are not
effective in this version.
THE RELATIONSHIP INSTANCE DETAILS PANEL
The relationship details panel comes up if you click on a link on the main
easel or if you click the wee 'R' button at the bottom of the attribute
detaild panel. It gives details about the relationship, including
antecedent and consequent.
The main things of interest are the unary operator, and the weight.
The use of these is explained in the <Using Istar> document.
The Explain button brings up an explanation of what would happen when
inference is performed with this relationship.
TO CREATE NEW ITEM TYPE
To create a new item type the main thing is to give it a name, and then
some other information depending on what you want it for. The basic
operation is as follows:
# Click 'New' button under Item Type list on the KB panel.
# Enter the name for it.
# Ignore all the checkboxes for now.
# What colours do you want? First Pen gives colour of label, if any.
Second Pen gives colour of outline box. Pattern gives pattern for outline
box. Similar to Relationship Type Panel. (This is not available in
versions earlier than 1.03.)
# Click the 'OK' button.
(The new type is automatically selected for drawing.)
ITEMS FOR SEMANTIC NET
In a semantic net (or a mental map) the important thing about items is the
relationships they have with other items. So it is a good idea to define
relationship types that will be drawn from the items of this type. So we
add a couple of extra steps to the above, to define the relationship types
you want (not available until version 1.03).
# Click 'New' button under Item Type list on the KB panel.
# Enter the name for it.
# Ignore all the checkboxes for now.
# There are two type gadgets mid-panel, showing 'None' and labelled 'Left'
and 'Right'. Click the 'Right' one. Up comes a list of relationship
types. [Bug in version 1.03: If there is more than one KB active, the
list will not appear; get rid of all but this KB.] Select one, such as
'Precedence' and click the 'OK' button.
# What colours do you want? First Pen gives colour of label, if any.
Second Pen gives colour of outline box. Pattern gives pattern for outline
box. Similar to Relationship Type Panel.
# Click the 'OK' button on the Item Types Panel.
# On the Easel, draw two items of this new type. Now draw a link from the
right hand edge of the left one to the other. It should draw a Precedence
relationship; you can check this by bringing up the Relationship Instance
Details panel for the relationship (see above).
Note that we did not set the 'Left' relationship type. We could do so.
But when it is 'None' then the type drawn will be that shown selected in
the Relationship Types List on the KB panel.
ITEMS AS DATABASE RECORDS
The other main use of items is as a database record, a collection of
attributes. So for this, we take a few extra steps to add attributes.
(You can create item types with both relationship types and attributes; no
problem.)
# Click 'New' button under Item Type list on the KB panel.
# Enter the name for it.
# Ignore all the checkboxes for now.
# At bottom right is a type gadget which shows attribute type. Click the
wee button to its left to bring up list of attribute types. Select the
type required.
# (If not available, click Cancel on the list, keep the Item Type panel
but send it to back, then create the attribute type you require as
described below.)
# In string gadget to its left, give it a name.
# IMPORTANT: Now click the rectangular gadget above the attribute type
gadget to add it to the list of gadgets.
# Repeat the above to add other attributes.
# What colours do you want? First Pen gives colour of label, if any.
Second Pen gives colour of outline box. Pattern gives pattern for outline
box. Similar to Relationship Type Panel. (This is not available in
versions earlier than 1.03.)
# Click the 'OK' button.
ITEMS AS FREE ATTRIBUTES
You should seldom have to create your own free attribute types, since these
are automatically created when you create an attribute type. But if you
wish to do so, you must create an item with a single attribute and with
'Has Own Box' not ticked, so that no box is shown for the item itself.
(Note that at present it is not possible to suppress the item's box, so you
cannot strictly create new free attribute types.)
TO CREATE A NEW ATTRIBUTE TYPE
# In KB panel click the 'Att Types' button. This brings up a panel for
attribute types. The left hand list is of currently available attribute
types. The right hand side is for giving ordinals and enumerated types
(and other types in future) names for their values.
# Decide on name for attribute type and enter that in the 'N' gadget on
left hand side.
# If you wish, you can give it a meaning in the 'M' gadget. Maybe to
explain more about it.
# Now click the wee button at the left of the 'V' type gadget at the
bottom, to obtain a list of fundamental value types. Select the one you
want.
# Lastly, click the left 'Add' action button to add it to the list of
attribute types available.
# If the value type chosen is Enumerated or Ordinal then you will want to
add names for its values. These have values from 1 upwards.
# In the 'N' string give the name for the first value, such as 'Sunday'.
Then click the right 'Add' button to add it to the list.
# Then give the name for the second value and click 'Add'. And the third,
and so on. Until finished.
# When finished, click the 'Done' button, and the attribute type is
available for use e.g. in creating an item type.
CREATING A NEW RELATIONSHIP TYPE
Click the 'New' button beneath the Relationship Types list on the KB panel.
Up comes a panel that allows you to define the name for the relationship
type, various parameters of it and visual appearance of the lines that
express its instances on the main easel.
# Enter a name.
# Is it DAG or not? If DAG (Directed Acyclic Graph) then you cannot form
cycles with instances of this type of relationship. That is, you cannot
build a KB with links e.g. from A to B, B to C, C to D, and D back to A
(though you can have A to B, B to C, C to D and A to D). Many types of
relationship are DAGs, e.g. most dependencies.
# If it is DAG, does this type of relationship perform inference? Usually
not.
# The next four check boxes should normally be left ticked for maximum
flexibility.
# Pens and pattern. The two pens can define the colours in which
instances of this type of relationship will be drawn for positive and
negative versions of the relationship. If either is zero then a default
colour will be used that indicates whether the relationship is a DAG, is
inference or not. The pattern is 16 pixels repeated along the line.
Usually used to give visual indication of type of relationship.
# When done, click the 'Create' button (or 'Cancel').
EDITING A RELATIONSHIP TYPE
To make changes to the name of a relationship type or in any of the above
parameters, select the type in the Relationship Type list and click the
'Edit' button beneath it.
Note that if you alter the visual appearance, existing instances of
this type will not be altered in visual appearance. But new instances will
take on the new appearance. Also, when you bring up a Relationship Details
panel and click 'OK' the visual appearance will change.
BEWARE: Do not change parameters of the standard relationship types
(though you may change their visual appearance to suit your tastes). In
particular, if you make 'Inference' to be not a DAG you will be allowed to
create an infinite loop in the KB.
FINDING SOMETHING BY NAME
On main control panel, click the 'Find' button. This brings up the Find
panel (which in the current version is rather sparse and empty). It allows
you to find attributes, attribute types, items, item types, relationships,
relationship types by sub-strings their names contain.
# Enter the sub-string in the long string gadget at the top.
# Then click either Item, Att or Rel, depending on what you want to find.
It then brings up a panel for the thing found, if any: an attribute action
panel, an item details panel or a relationship instance panel.
# Note that it will search the types before the instances.
# If it's not the one you want, send that panel away (Cancel or Done) and
click Continue. It will continue the search from where it left off.
# You can watch the number.
# If you want to find the total number of items, attributes or
relationships, clear the string gadget and hit the appropriate button. The
number then shows you the total number, including the number of types.
# (Note that in current version, Rel does not work.)
Copyright (c) Andrew Basden, 1996